Last month BDTI published a white paper detailing the results of its analysis of Texas Instruments’ Digital Video Evaluation Module (DVEVM). The DVEVM is one component of TI's “DaVinci” digital video platform, which also includes video-oriented chips, off-the-shelf multimedia codec software, development tools, and APIs. BDTI's evaluation focuses on whether the DVEVM is straightforward to use, how well it supports application prototyping, and whether it provides system designers with enough information to decide whether a DaVinci-based design is likely to be a good fit for their application.
The DaVinci platform is designed to attract system developers who need video processing capabilities but don’t necessarily want to program a DSP processor. In the DaVinci paradigm, the DSP processor can be used as a multimedia co-processor that runs off-the-shelf codecs and is accessed via function calls from a general-purpose CPU. (To this end, most DaVinci chips include both a DSP and a CPU.) For users who want to develop custom DSP code, TI also supports the more traditional DSP software development model, allowing users to implement their own software on the DSP.
The DVEVM package is intended to enable system designers to quickly determine whether the DaVinci platform will provide a good fit for their application, and also to enable rapid application prototyping. The DVEVM board contains a TMS320DM6446 DaVinci chip that pairs an ARM9 CPU core with a high-performance 'C64x+ DSP core. In keeping with the DaVinci concept, TI expects that system designers will use the ARM9 as an “application processor” that runs the operating system and handles general system control, while using the 'C64x+ as a DSP co-processor that runs computationally demanding multimedia codecs.
In addition to the board itself, the DVEVM package includes external hardware components (such as a camera and monitor), development tools, an evaluation version of MontaVista Linux, a number of off-the-shelf audio and video algorithms, and ARM source code for several demo video applications.
In the DVEVM, the 'C64x+ is treated as a “black box;” no source code is provided. It is accessed indirectly, through the ARM core, via APIs. This approach shields system developers from the complexities of the 'C64x+ while enabling them to harness its (considerable) horsepower. This is a reasonable approach; there are many potential applications where canned multimedia capabilities are adequate and there's no need to write custom code.
In general we found the DVEVM easy to use and well designed, though our evaluation uncovered several glitches in the documentation. We were impressed by how easy it was to set up the board and get it running; within an hour of opening the package, we were able to run the full-duplex H.264 demo applications using the camera and display that were provided with the package.
In addition to running the demos provided by TI, BDTI created its own applications by making relatively minor modifications to the demo code. For example, in the video loopback demo, we added the ability to save the encoded and decoded frames to the hard disk drive. We also added a simple jitter buffer as might be used in a video-over-IP application. We didn’t encounter any problems with these modifications; the process was straightforward.
We also attempted to create more elaborate applications. For example, we tried to add a second video encoder to simultaneously capture an incoming video stream in both H.264 and MPEG-4 formats. (H.264 and MPEG-4 encoders are provided as demo applications.) We were surprised to find that DVEVM users are limited to the specific codec combinations that are provided in the demo applications. If the user wants to run a different mixture of encoding and decoding schemes, they'll need to either obtain the Digital Video Software Development Kit (DVSDK) from TI and create a custom codec &rdquop;package,“ or work with a TI-authorized software provider to develop the needed software. This isn't a severe disadvantage, but it will be an inconvenience for users who need combinations of video codecs that are not supported by the packages included with the DVEVM. (For BDTI's full analysis and results, please download our white paper.)
Overall, we were impressed with the DVEVM. We believe that it will allow typical ARM-Linux developers to efficiently assess whether DaVinci chips and tools will provide the video capabilities they need, and to prototype applications that use straightforward video codec configurations. With the DaVinci approach, TI is aggressively targeting video applications and going after an unusually wide user base—and the DVEVM appears to be a solid component of this strategy.
Add new comment